package tests

import (
	"os"
	"shopback/models"
	"path/filepath"
)

// getTestDBPath 获取测试数据库的绝对路径
func getTestDBPath() string {
	// 获取当前工作目录
	dir, err := os.Getwd()
	if err != nil {
		panic(err)
	}
	// 返回到项目根目录
	rootDir := filepath.Dir(dir)
	// 在项目根目录下创建测试数据库
	return filepath.Join(rootDir, "test_shopping.db")
}

// teardownTestDB 清理测试数据库
func teardownTestDB() {
	testDBPath := getTestDBPath()
	
	// 删除测试数据库文件
	os.Remove(testDBPath)
}

// setupTestDB 初始化测试数据库
func setupTestDB() {
	testDBPath := getTestDBPath()
	
	// 确保删除已存在的测试数据库文件 
	teardownTestDB()

	// 设置测试数据库路径
	models.SetDBPath(testDBPath)

	// 初始化新的测试数据库
	models.InitDB()
}